<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        // 1.普通函数声明
        // function fn(){
        //     console.log('函数声明');
        // }

        // fn()

        // 2.函数表达式声明
        // let fn = function(){
        //     console.log("函数表达式声明");
        // }

        // fn()

        // "use strict"

        // function fn(){
        //     function a(){

        //     }
        // }

        // {
        //     // 普通函数定义 - 没有块级作用域概念
        //     function fn(){
        //         console.log(123);
        //     }

        //     // 函数表达式 - 因为使用了let 才有了块级作用域
        //     let fn2 = function(){
        //         console.log(456);
        //     }

        //     fn()
        // }

        // fn() //123

        // fn2(); //Uncaught ReferenceError: fn2 is not defined


        // 演示let在use strict下使用

        // "use strict"

        // {
        //     let a= 12;

        //     a = 666;

        //     console.log(a);
        // }
        

        // console.log(a);

        // "use strict"
        // {
        //     var a = 12;
        // }
        // console.log(a);


    </script>
</body>
</html>